package com.fscp.diner.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * Rest 配置类
 * 在 Spring Boot 1.3 版本中，会默认提供一个 RestTemplate 的实例 Bean ，
 * 而在 Spring Boot 1.4 以及以后的版本中，这个默认的 bean 不再提供了，因此我们需要手动创建一个 RestTemplate 的配置
 *
 * 使用 RestTemplate 时，用 @Autowired 注入报错
 * 使用 @Resource 注入虽然不报错，但是启动时报错:
 * A component required a bean of type 'org.springframework.web.client.RestTemplate' that could not be found.
 */
@Configuration
public class RestTemplateConfiguration {

    @LoadBalanced   // 拥有负载均衡的能力        使用了ribbon的客户端的负载均衡
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}
